package com.um.jdy.ykc.command;

import com.um.jdy.ykc.utils.RadixsUtil;
import io.netty.buffer.ByteBuf;
import io.netty.buffer.Unpooled;
import lombok.Data;

/**
 * 交易记录确认（运营平台->充电桩）
 *
 * @author 甘天伟
 * @since 2022/6/28
 * 版权所有 广州优匠科技有限公司
 */
@Data
public class Cmd40UploadOrderResponse extends YkcCommand {

    /**
     * 交易流水号：16个字节
     */
    private String transactionNo;

    /**
     * 确认结果：1个字节 0x00 上传成功 0x01 非法账单
     */
    private int status;


    public Cmd40UploadOrderResponse(int serial,String transactionNo,int status) {
        super();

        this.serial = serial;
        this.encFlag = RadixsUtil.hexToInteger("00");
        this.command = RadixsUtil.hexToInteger("40");


        this.transactionNo = transactionNo;
        this.status = status;

        byte[] _transactionNo = RadixsUtil.hexToBytes(transactionNo);
        byte _status = (byte)status;

        ByteBuf buff = Unpooled.buffer();
        buff.writeBytes(fillZeroBytes(_transactionNo,16 - _transactionNo.length));
        buff.writeByte(_status);

        this.data = new byte[buff.readableBytes()];
        buff.readBytes(data);
        buff.release();

        postConstruct();
    }
}
